home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 26
/
Cream of the Crop 26.iso
/
program
/
ddj0897.zip
/
DYN401.ZIP
/
class
/
linkval.c
< prev
next >
Wrap
C/C++ Source or Header
|
1997-04-16
|
3KB
|
136 lines
/* Copyright (c) 1993-1996 Algorithms Corporation */
/* All rights reserved. */
/* This file automatically generated by dpp - do not edit */
#define DPP_STRATEGY 2
#define DPP_FASTWIDE 0
#define CLASS LinkValue_c
#define ivType LinkValue_iv_t
#include "generics.h"
object LinkValue_c;
#line 26 "linkval.c"
typedef struct _LinkValue_iv_t {
object iValue;
} LinkValue_iv_t;
#line 21 "linkval.d"
cmeth objrtn LinkValue_cm_gNewWithObj(object self, object value)
{
object lnk;
ivType *iv;
ChkArgNul(value, 2);
lnk = oSuper(LinkValue_c, gNew, self)(self);
iv = ivPtr(lnk);
iv->iValue = value;
return lnk;
}
imeth objrtn LinkValue_im_gDeepCopy(object self)
{ LinkValue_iv_t *iv = GetIVs(LinkValue, self);
object nobj;
nobj = oSuper(LinkValue_c, gDeepCopy, self)(self);
ivPtr(nobj)->iValue = iv->iValue ? gDeepCopy(iv->iValue) : NULL;
return nobj;
}
imeth objrtn LinkValue_im_gDeepDispose(object self)
{ LinkValue_iv_t *iv = GetIVs(LinkValue, self);
if (iv->iValue)
gDeepDispose(iv->iValue);
return oSuper(LinkValue_c, gDeepDispose, self)(self);
}
imeth objrtn LinkValue_im_gValue(object self)
{ LinkValue_iv_t *iv = GetIVs(LinkValue, self);
return iv->iValue;
}
imeth objrtn LinkValue_im_gChangeValue(object self, object value)
{ LinkValue_iv_t *iv = GetIVs(LinkValue, self);
ChkArgNul(value, 2);
iv->iValue = value;
return self;
}
imeth objrtn LinkValue_im_gStringRepValue(object self)
{ LinkValue_iv_t *iv = GetIVs(LinkValue, self);
return iv->iValue ? gStringRepValue(iv->iValue) : gNewWithStr(String, "(null)");
}
imeth objrtn LinkValue_im_gStringRep(object self)
{ LinkValue_iv_t *iv = GetIVs(LinkValue, self);
object a, b, s;
a = oSuper(LinkValue_c, gStringRepValue, self)(self);
b = iv->iValue ? gStringRepValue(iv->iValue) : gNewWithStr(String, "(null)");
s = vBuild(String, gName(ClassOf(self)), " (", a, ", ", b, ")\n", NULL);
gDispose(a);
gDispose(b);
return s;
}
#line 92 "linkval.c"
objrtn LinkValue_initialize(void)
{
static CRITICALSECTION cs;
static int volatile once = 0;
ENTERCRITICALSECTION(_CI_CS_);
if (!once) {
INITIALIZECRITICALSECTION(cs);
once = 1;
}
LEAVECRITICALSECTION(_CI_CS_);
ENTERCRITICALSECTION(cs);
if (LinkValue_c) {
LEAVECRITICALSECTION(cs);
return LinkValue_c;
}
INHIBIT_THREADER;
Link_initialize();
if (LinkValue_c) {
ENABLE_THREADER;
LEAVECRITICALSECTION(cs);
return LinkValue_c;
}
LinkValue_c = gNewClass(Class, "LinkValue", sizeof(LinkValue_iv_t), 0, Link, END);
cMethodFor(LinkValue, gNewWithObj, LinkValue_cm_gNewWithObj);
iMethodFor(LinkValue, gValue, LinkValue_im_gValue);
iMethodFor(LinkValue, gStringRepValue, LinkValue_im_gStringRepValue);
iMethodFor(LinkValue, gChangeValue, LinkValue_im_gChangeValue);
iMethodFor(LinkValue, gDeepDispose, LinkValue_im_gDeepDispose);
iMethodFor(LinkValue, gStringRep, LinkValue_im_gStringRep);
iMethodFor(LinkValue, gDeepCopy, LinkValue_im_gDeepCopy);
ENABLE_THREADER;
LEAVECRITICALSECTION(cs);
return LinkValue_c;
}